package com.lin.fengxiu.core.enumeration;

import java.util.stream.Stream;

/**
 * @Description TODO 优惠券状态枚举
 */
public enum CouponStatus {

    AVAILABLE( 1, "可以使用，未过期"),
    USED( 2, "已使用"),
    EXPIRED( 3, "未使用，已过期");

    private Integer value;

    public Integer getValue(){
        return this.value;
    }

    CouponStatus(Integer value, String description){
        this.value = value;
    }

    /**
     * @Description TODO 优惠券状态切换
     * @param value
     * @return
     */
    public static CouponStatus toType(int value){

        return Stream.of(CouponStatus.values())  // 流获取枚举类的values
                .filter(c->c.value == value)  // 匹配传入的value
                .findAny()                     // 返回匹配value的结果
                .orElse(null);          // 如果都不匹配，赋值为null
    }
}
